16 research outputs found

    Lightweight and static verification of UML executable models

    Get PDF
    Executable models play a key role in many development methods (such as MDD and MDA) by facilitating the immediate simulation/implementation of the software system under development. This is possible because executable models include a fine-grained specification of the system behaviour using an action language. Executable models are not a new concept but are now experiencing a comeback. As a relevant example, the OMG has recently published the first version of the “Foundational Subset for Executable UML Models” (fUML) standard, an executable subset of the UML that can be used to define, in an operational style, the structural and behavioural semantics of systems. The OMG has also published a beta version of the “Action Language for fUML” (Alf) standard, a concrete syntax conforming to the fUML abstract syntax, that provides the constructs and textual notation to specify the fine-grained behaviour of systems. The OMG support to executable models is substantially raising the interest of software companies for this topic. Given the increasing importance of executable models and the impact of their correctness on the final quality of software systems derived from them, the existence of methods to verify the correctness of executable models is becoming crucial. Otherwise, the quality of the executable models (and in turn the quality of the final system generated from them) will be compromised. Despite the number of research works targetting the verification of software models, their computational cost and poor feedback makes them difficult to integrate in current software development processes. Therefore, there is the need for efficient and useful methods to check the correctness of executable models and tools integrated to the modelling tools used by designers. In this thesis we propose a verification framework to help the designers to improve the quality of their executable models. Our framework is composed of a set of lightweight static methods, i.e. methods that do not require to execute the model in order to check the desired property. These methods are able to check several properties over the behavioural part of an executable model (for instance, over the set of operations that compose a behavioural executable model) such as syntactic correctness (i.e. all the operations in the behavioural model conform to the syntax of the language in which it is described), non-redundancy (i.e. there is no another operation with exactly the same behaviour), executability (i.e. after the execution of an operation, the reached system state is -in case of strong executability- or may be -in case of weak executability- consistent with the structural model and its integrity constraints) and completeness (i.e. all possible changes on the system state can be performed through the execution of the operations defined in the executable model). For incorrect models, the methods that compose our verification framework return a meaningful feedback that helps repairing the detected inconsistencies

    Lightweight and static verification of UML executable models

    Get PDF
    Executable models play a key role in many software development methods by facilitating the (semi)automatic implementation/execution of the software system under development. This is possible because executable models promote a complete and fine-grained specification of the system behaviour. In this context, where models are the basis of the whole development process, the quality of the models has a high impact on the final quality of software systems derived from them. Therefore, the existence of methods to verify the correctness of executable models is crucial. Otherwise, the quality of the executable models (and in turn the quality of the final system generated from them) will be compromised. In this paper a lightweight and static verification method to assess the correctness of executable models is proposed. This method allows us to check whether the operations defined as part of the behavioural model are able to be executed without breaking the integrity of the structural model and returns a meaningful feedback that helps repairing the detected inconsistencies.Peer ReviewedPostprint (author's final draft

    Verifying consistency between structural and behavioral schemas in UML

    Get PDF
    The specification of an information system must include all relevant static and dynamic aspects of the domain. The static aspects are collected in structural diagrams that are represented in UML by means of class diagrams. Dynamic aspects are usually specified by means of a behavioral schema consisting of a set of system operations (composed by actions) that the user may execute to query and/or modify the information modeled in the class diagram. Behavioral schemas must be consistent with regard to structural schemas. Consistency between both schemas means that the set of system operations provided by designers must be syntactically consistent (i.e, the operation specifications conform to a particular syntax), executable (i.e, for each operation there must exist a system state over which the operation can be successfully applied), complete (i.e, through these operations, users should be able to modify the population of all modifiable elements in the class diagram) and non-redundant (i.e, there are not (partly) superfluous operations). The goal of this thesis is to give a method to determine the consistency between structural and behavioral schemas of an information system. Moreover, in case of inconsistent schemas the method must provide feedback information to allow designers modify their behavioral schemas in order to repair the inconsistency

    Alf-verifier: an Eclipse plugin for verifying Alf/UML executable models

    Get PDF
    In this demonstration we present an Eclipse plugin that implements a lightweight method for verifying fine-grained operations at design time. This tool suffices to check that the execution of the operations (specified in Alf Action Language) is consistent with the integrity constraints defined in the class diagram (specified in UML) and returns a meaningful feedback that helps correcting them otherwise.Postprint (author’s final draft

    CUCKOO: una plataforma web para la verificación de modelos UML

    Get PDF
    En este artículo presentamos CUCKOO (QUality cheCKing of Object Oriented designs) una plataforma web para la verificación de diagramas de clases UML. Esta plataforma está orientada a facilitar el aprendizaje de las fases de análisis y diseño dentro de las asignaturas de Ingeniería del Software.Peer Reviewe

    Lightweight and static verification of UML executable models

    No full text
    Executable models play a key role in many development methods (such as MDD and MDA) by facilitating the immediate simulation/implementation of the software system under development. This is possible because executable models include a fine-grained specification of the system behaviour using an action language. Executable models are not a new concept but are now experiencing a comeback. As a relevant example, the OMG has recently published the first version of the “Foundational Subset for Executable UML Models” (fUML) standard, an executable subset of the UML that can be used to define, in an operational style, the structural and behavioural semantics of systems. The OMG has also published a beta version of the “Action Language for fUML” (Alf) standard, a concrete syntax conforming to the fUML abstract syntax, that provides the constructs and textual notation to specify the fine-grained behaviour of systems. The OMG support to executable models is substantially raising the interest of software companies for this topic. Given the increasing importance of executable models and the impact of their correctness on the final quality of software systems derived from them, the existence of methods to verify the correctness of executable models is becoming crucial. Otherwise, the quality of the executable models (and in turn the quality of the final system generated from them) will be compromised. Despite the number of research works targetting the verification of software models, their computational cost and poor feedback makes them difficult to integrate in current software development processes. Therefore, there is the need for efficient and useful methods to check the correctness of executable models and tools integrated to the modelling tools used by designers. In this thesis we propose a verification framework to help the designers to improve the quality of their executable models. Our framework is composed of a set of lightweight static methods, i.e. methods that do not require to execute the model in order to check the desired property. These methods are able to check several properties over the behavioural part of an executable model (for instance, over the set of operations that compose a behavioural executable model) such as syntactic correctness (i.e. all the operations in the behavioural model conform to the syntax of the language in which it is described), non-redundancy (i.e. there is no another operation with exactly the same behaviour), executability (i.e. after the execution of an operation, the reached system state is -in case of strong executability- or may be -in case of weak executability- consistent with the structural model and its integrity constraints) and completeness (i.e. all possible changes on the system state can be performed through the execution of the operations defined in the executable model). For incorrect models, the methods that compose our verification framework return a meaningful feedback that helps repairing the detected inconsistencies

    Verifying consistency between structural and behavioral schemas in UML

    No full text
    The specification of an information system must include all relevant static and dynamic aspects of the domain. The static aspects are collected in structural diagrams that are represented in UML by means of class diagrams. Dynamic aspects are usually specified by means of a behavioral schema consisting of a set of system operations (composed by actions) that the user may execute to query and/or modify the information modeled in the class diagram. Behavioral schemas must be consistent with regard to structural schemas. Consistency between both schemas means that the set of system operations provided by designers must be syntactically consistent (i.e, the operation specifications conform to a particular syntax), executable (i.e, for each operation there must exist a system state over which the operation can be successfully applied), complete (i.e, through these operations, users should be able to modify the population of all modifiable elements in the class diagram) and non-redundant (i.e, there are not (partly) superfluous operations). The goal of this thesis is to give a method to determine the consistency between structural and behavioral schemas of an information system. Moreover, in case of inconsistent schemas the method must provide feedback information to allow designers modify their behavioral schemas in order to repair the inconsistency
    corecore